Traffic Simulation using Simulation of Urban Mobility
Simulation of Urban Mobility (SUMO for short) is an open-source, microscopic traffic simulator. It is developed by German Aerospace Center (DLR) in the year 2001. It can be used to depict real-life incidents like traffic congestion, road construction, accidents in the simulation environment. SUMO package provides both the command-line and GUI simulation. It can also be linked with other traffic simulation software like Vissim, MATSim, VISUM. In addition, it has tools like NETCONVERT, NETGEN, JTRROUTER, DUAROUTER, NETEDIT, DFROUTER.
Traffic simulation in SUMO requires 3 steps:-
Network Generation – A road network is defined in the .net file using the NETCONVERT or NETGENERATE command. The road network defined consists of nodes and edges as in Graph Theory. The network file can also be imported using the OpenStreetMap (OSM) in the .osm file, which further is converted into a .net file.
Traffic Definition – It usually involves the vehicle, vehicle type, and vehicle routes. Each vehicle defined as a unique identifier through which it can be accessed. Vehicle routes are stored in .rou file which can be created manually or using the command-line.
Additional File – It includes the definition of traffic signals, bus stops, re-routers, induction loops, additional visualization (like a house, trees). All these definitions are stored in a .add file.
To start our simulation we need a configuration file having the .sumocfg extension which will contain net-file, route-file, additional-file and other attributes like the duration of the simulation.
Figure: A scenario in SUMO-GUI simulation at a traffic junction.
SUMO helps in creating a range of distribution in the traffic, for this, it supports Car-Following models like Krauβ, KraussAB, IDM, SmartSK which have defined a set of a framework.
Traffic Control Interface (TraCI for short) is a Python API which uses a client-server model between the user and the SUMO Traffic Simulation. TraCI commands help in controlling and modifying the simulation using built-in functions within itself. In addition to this, it helps in collecting the traffic data from the simulation, like the state of traffic lights or the route defined for vehicles, or the connection between two edges
TraCI allows additional functionalities like the E1, E2, E3 detectors used for Induction Loops, Lane-Area detector and Multi Entry-Exit detectors respectively. The pollutants emission (), noise emission and the fuel consumption in congested traffic area can also be measured and written into output files. TraCI is also implemented in other programming languages like C++, MATLAB, Java (as TraaS)
List of International Projects which used SUMO:.